
namespace SIP.PN.Modelo.Entidades
{
    public class EvaluacionConcepto
    {
        private Evaluacion evaluacion;
        private Concepto concepto;
        private int puntaje;

        public EvaluacionConcepto()
        {
        }

        public EvaluacionConcepto(Evaluacion evaluacion, Concepto concepto, int puntaje)
        {
            this.evaluacion = evaluacion;
            this.concepto = concepto;
            this.puntaje = puntaje;
        }

        public virtual Evaluacion Evaluacion
        {
            get { return evaluacion; }
            set { evaluacion = value; }
        }

        public virtual Concepto Concepto
        {
            get { return concepto; }
            set { concepto = value; }
        }

        public virtual int Puntaje
        {
            get { return puntaje; }
            set { puntaje = value; }
        }

        #region Metodos Sobreescritos

        public override bool Equals(object obj)
        {
            EvaluacionConcepto otro = obj as EvaluacionConcepto;
            if (otro == null) return false;
            return otro.Concepto.Equals(Concepto) && otro.Evaluacion.Equals(Evaluacion);
        }

        public override int GetHashCode()
        {
            return string.Format("{0}-{1}", GetType(), ToString()).GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}-{1}", Concepto.Codigo, Evaluacion.Codigo);
        }

        #endregion
    }
}
